const crypto/internal/fips140/mlkem.k

23 uses

	crypto/internal/fips140/mlkem (current package)
		mlkem768.go#L57: 	k = 3
		mlkem768.go#L59: 	CiphertextSize768       = k*encodingSize10 + encodingSize4
		mlkem768.go#L60: 	EncapsulationKeySize768 = k*encodingSize12 + 32
		mlkem768.go#L61: 	decapsulationKeySize768 = k*encodingSize12 + EncapsulationKeySize768 + 32 + 32
		mlkem768.go#L157: 	t [k]nttElement     // ByteDecode₁₂(ek[:384k])
		mlkem768.go#L158: 	a [k * k]nttElement // A[i*k+j] = sampleNTT(ρ, j, i)
		mlkem768.go#L163: 	s [k]nttElement // ByteDecode₁₂(dk[:decryptionKeySize])
		mlkem768.go#L277: 	g.Write([]byte{k}) // Module dimension as a domain separator.
		mlkem768.go#L283: 	for i := byte(0); i < k; i++ {
		mlkem768.go#L284: 		for j := byte(0); j < k; j++ {
		mlkem768.go#L285: 			A[i*k+j] = sampleNTT(ρ, j, i)
		mlkem768.go#L295: 	e := make([]nttElement, k)
		mlkem768.go#L305: 			t[i] = polyAdd(t[i], nttMul(A[i*k+j], s[j]))
		mlkem768.go#L406: 	for i := byte(0); i < k; i++ {
		mlkem768.go#L407: 		for j := byte(0); j < k; j++ {
		mlkem768.go#L408: 			ek.a[i*k+j] = sampleNTT(ek.ρ[:], j, i)
		mlkem768.go#L421: 	r, e1 := make([]nttElement, k), make([]ringElement, k)
		mlkem768.go#L432: 	u := make([]ringElement, k) // NTT⁻¹(AT ◦ r) + e1
		mlkem768.go#L437: 			u[i] = polyAdd(u[i], inverseNTT(nttMul(ex.a[j*k+i], r[j])))
		mlkem768.go#L501: 	u := make([]ringElement, k)
		mlkem768.go#L507: 	b := (*[encodingSize4]byte)(c[encodingSize10*k:])